/*
* Copyright (c) Huawei Technologies Co., Ltd. 2023. All rights reserved.
*/

#ifndef VPC_PIPE_YUVSCALER_H
#define VPC_PIPE_YUVSCALER_H

#include "vpc_pipe_types.h"
#include "yuv_scaler_para_set.h"

uint8_t judge_use_1prescale_1yuvscale(uint32_t in_width, uint32_t in_height, uint32_t out_width, uint32_t out_height);
uint8_t judge_use_2prescale_1yuvscale(uint32_t in_width, uint32_t in_height, uint32_t out_width, uint32_t out_height);
uint8_t judge_use_3prescale_1yuvscale(uint32_t in_width, uint32_t in_height, uint32_t out_width, uint32_t out_height);
uint8_t judge_use_1yuvscale(uint32_t in_width, uint32_t in_height, uint32_t out_width, uint32_t out_height);
const struct yuv_scaler_array* search_scaler_para(uint32_t para);
uint8_t get_half_line_mode(uint64_t iv, uint32_t hsize);

#endif // #ifndef VPC_PIPE_YUVSCALER_H